export function square(x) {
  return x * x
}

export function cube(x) {
  return x * x * x
}

// webpack 目前还是能成功 tree-shaking 掉 static 内容
// 之前在 IM 里的经验, 有静态属性摇不落, 情况需要更正:
// 1. 是 rollup + babel 编译过一次 sdk, 最终产出了更有低级的, 有副作用的语法, 并且去除注释
// 2. sdk 产物被最终客户的工程 webpack 引入, 因为语法更低级, 注释里也少了 /*#__PURE__*/, 这个标识代表着本代码块无副作用. 故而 shaking 不掉
export class NIM {
  static id = 1
  constructor(options) {
    this.options = options
  }
  static getInstance(options) {
    return new NIM(options)
  }
}

// export var NIM = /*#__PURE__*/function () {
//   function NIM(options) {
//     _classCallCheck(this, NIM);
//     this.options = options;
//   }
//   return _createClass(NIM, null, [{
//     key: "getInstance",
//     value: function getInstance(options) {
//       return new NIM(options);
//     }
//   }]);
// }();
// _defineProperty(NIM, "id", 3);
